3123
16147
Questa domanda ha già risposte qui:
Come restituisco la risposta da una chiamata asincrona?
(42 risposte)
Chiuso 5 mesi fa.
Pertanto, quando si esegue il codice seguente, la risposta di console.log (ba) non è definita
Ma quando provo questo nella console Chrome V8 ottengo l'output corretto che mi aspetto. Non sono completamente sicuro di cosa stia succedendo qui.
lasciate ba;
funzione Setqa () {
(async () => {
wait fetch ('questions.json')
.then (res => res.json ())
.then (async (data) => {
ba = attendi dati;
});
}) ();
}
Setqa ();
console.log (ba);
I contenuti del file json sono i seguenti:
"domande": [{
"questionType": "multiple",
"domanda": "Com'è il tempo",
"risponde": "",
"domanda risposta": ""
},
{
"questionType": "multiple",
"domanda": "Come stai oggi?",
"answer": " 1",
"questionAnswer": "textPurpose1"
}
] 
Immagino che dovrebbe funzionare
lasciate ba;
funzione Setqa () {
return fetch ('questions.json')
.then (res => res.json ())
.then (async (data) => {
ba = attendi dati;
});
}
Setqa (). Quindi (() => console.log (ba));
Ma sarebbe un approccio migliore
funzione async setQa () {
const res = await fetch ('questions.json');
return res.json ();
}
let ba = wait setQa ();
|
Non è la risposta che stai cercando? Sfoglia altre domande etichettate javascript json fetch console.log o fai la tua domanda.